One of the most popular types of storage devices used on computer systems of all types is termed an IDE or ATA device. The name derives from the interface standard used by the device to connect to the computer system. The standard is recognized on an industry wide basis and is administered under the auspices of the American National Standards Institute (ANSI). By following this standard, computer systems computer users can obtain devices from a variety of manufactures and know that they will inter-operate.
Devices are typically connected to the computer (host) using a flat ribbon cable. The cable has one end connected to the host and the other to a device. Up to two devices may be connected to the cable, one at the other end to the host and the second at an intermediate position. In a two-device configuration, both of them share all the wires on the cable and there has to be a definitive way for the host to be able to address one or the other device. This is achieved by setting switches or "jumper blocks" on the drives.
The configuration of this causes numerous problems for the end user and the system manufacturer who supplies the computer. The bulk of these devices are used on "Personal Computers" (PCs) where it is not reasonable to expect the average user to be an expert. In the early days of PCs, the only storage devices were floppy disks. A standard was set that was easy to understand. The first drive addressed was at the end of the cable and the second was in the middle. It did not take too much expertise to understand this rule. Unfortunately, this did not extend to the hard drive, because where the hard drive is on the cable does not determine which drive is addressed first. This leads to great confusion to the user and costs the industry vast amounts in support costs explaining how to actually configure the drives.
The ANSI standard includes definitions of the number of wires used on the cable, what they are used for, the electrical characteristics, and the maximum length of the cable. One aspect of this specification is signal quality and the location of drives on the cable. For a single drive configuration, it is important for that drive to be on the opposite end of the cable to the host. This reduces the electrical noise associated with ringing. This means that for a one-drive configuration, the drive should be at the end of the cable opposite the host.
In an attempt to solve the drive address problem, the ANSI standard (ATA-2) defines the use of a signal on the cable termed Cable Select (CSEL). CSEL works by assigning one pin on the interface to be used by the drive to determine if it is the first or second drive on the cable. This is achieved by one of the connectors in the cable having this pin tied to ground and the other end open. A simple circuit consists of a pull-up resistor on this signal on every drive. The drive attached to the connector, which is tied to ground, will see a low signal, while the other will see a high signal. The standard defines that the device seeing the low signal is the first device; the other is the second. The standard currently defines this signal to be conductor 28 in the cable. The simplest way for this to be described is for the conductor 28 to be connected via pin 28 (CSEL pin) at the host to ground. This conductor is then connected to pin 28 at the intermediate connector and signals to a drive attached to that connector that it is the first drive. The conductor is cut between the intermediate connector and the drive end connector. This leaves the signal not grounded and signals to the device that it is the second device.
This is counter to the requirements for good electrical characteristics on the cable. It is also not the accepted use of drives on the cable. If there is only one drive on the cable, it is usual and good electrical practice to place it at the end of the cable. Because the drive is on the end of the cable and the CSEL pin is not grounded, the drive will respond as though it is the second drive on the cable. Even though the drive is responding to the second address, the host system will work out that only one drive exists. Consequently, the host system logically addresses the drive as the first drive in the system. All the data stored on that drive would be addressed by the host operating system as though it is the first drive. This works until the user adds a second drive. This second drive would be added to the spare connector located between the two ends. This is a natural and logical action taken by the user. Now the system sees two drives; the new drive responds to the first address and the original drive still responds to the second address. The system operating system now maps its logical first drive to the new drive and creates a new reference to the original drive since it now sees it as a second device. All the user software is now addressing the wrong drives which, at best, causes confusion and, at worst, causes data to be incorrectly written and corrupted.
In addition to causing even more confusion, the manufacture of the CSEL cable as defined in the current standard (termed ATA-2) is not trivial. To cut a conductor cleanly in mass production, leaving no ends to unravel or rough ends to electrically short, is not easy.